package com.lai.hospital.dao;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lai.hospital.dto.ConfirmAppointmentDTO;
import com.lai.hospital.dto.DoctorBackDTO;
import com.lai.hospital.dto.DoctorDTO;
import com.lai.hospital.dto.MyDoctorDTO;
import com.lai.hospital.entity.Doctor;
import com.lai.hospital.vo.ConditionVO;
import com.lai.hospital.vo.DepartmentDoctorScheduleVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author : lai
 * @version V1.0
 * @Project: hospital-springboot
 * @Package com.lai.hospital.dao
 * @Description: 医生dao
 * @date Date : 2022年11月24日 21:11
 */
@Repository
public interface DoctorDao extends BaseMapper<Doctor> {
    List<Doctor> listDoctor(@Param("current") Long limitCurrent,@Param("size") Long size,@Param("conditionVO") ConditionVO conditionVO);

    /**
     * 我的医生列表
     * @param userId 用户id
     * @param num 数据条数
     * @return
     */
    List<MyDoctorDTO> selectMyDoctor(@Param("userId") Integer userId, @Param("num") Integer num);

    ConfirmAppointmentDTO confirmAppointment(@Param("doctorId")Integer doctorId);

    List<DoctorBackDTO> listDoctorSchedule(@Param("current") Long limitCurrent, @Param("size")Long size, @Param("conditionVO")ConditionVO conditionVO);

    //List<Doctor> getDoctorByDepartmentAndScheduleDate(@Param("departmentDoctorScheduleVO") DepartmentDoctorScheduleVO departmentDoctorScheduleVO,@Param("beginOfDay") DateTime beginOfDay,@Param("beginOfDay") DateTime endOfDay);
}
